package com.gosophia.oa.test.functional;

import org.junit.Test;

import com.gosophia.oa.test.CustomSeleneseTestCase;

public class FTDocumentProcessing extends CustomSeleneseTestCase {

	@Override
	public void setUp() throws Exception {
		super.setUp("http://localhost:8080/");
	}

	@Override
	public void tearDown() throws Exception {
		if (selenium != null)
			selenium.close();
		super.tearDown();
	}

	@Test
	public void testComposingPage() {
		selenium.open("/OA/");
		selenium.type("j_username", "admin");
		selenium.type("j_password", "admin");
		selenium.click("loginBtn");
		selenium.waitForPageToLoad("10000");

		// 进入起草页面
		selenium.click("link=文档起草");
		selenium.waitForPageToLoad("10000");
		assertPageTitle("北京市电子行政监察平台-起草文档", onPage("文档起草页面"));
		// 验证页面元素-step1
		String[] composingPageElementTexts1 = {
				"文档起草",
				"文档任务名称",
				"重要度",
				"任务描述",
				"最多64个字",
				};
		verifyPresenceOfTexts(composingPageElementTexts1, onPage("文档起草页面"));
	}
	
	@Test
	public void testProcessingPage() {
		selenium.open("/OA/");
		selenium.type("j_username", "admin");
		selenium.type("j_password", "admin");
		selenium.click("loginBtn");
		selenium.waitForPageToLoad("10000");

		// 进入列表页面
		selenium.click("link=文档办理");
		selenium.waitForPageToLoad("10000");
		assertPageTitle("北京市电子行政监察平台-文档办理", onPage("文档办理页面"));
		// 等待列表刷新完成
		waitForAppearanceOfElement("//div[@id='dataTable']/table", 10000);
		// 验证页面元素
		String[] listPageElementTexts = {
				"文档办理",
				"任务编号",
				"文档任务名称",
				"创建人",
				"任务计划结束日期",
				"重要度",
				"操作",
				"首页", "尾页",
				};
		verifyPresenceOfTexts(listPageElementTexts, onPage("文档办理页面"));

	}
	
	@Test
	public void testDocumentTaskQueryPage() {
		selenium.open("/OA/");
		selenium.type("j_username", "admin");
		selenium.type("j_password", "admin");
		selenium.click("loginBtn");
		selenium.waitForPageToLoad("10000");

		// 进入列表页面
		selenium.click("link=文档任务查询");
		selenium.waitForPageToLoad("10000");
		assertPageTitle("北京市电子行政监察平台-文档任务查询", onPage("文档任务查询页面"));
		// 等待列表刷新完成
		waitForAppearanceOfElement("//div[@id='dataTable']/table", 10000);
		// 验证页面元素
		String[] listPageElementTexts = {
				"文档任务查询",
				"任务编号",
				"文档任务名称",
				"创建人",
				"任务计划结束日期",
				"重要度",
				"任务状态",
				};
		verifyPresenceOfTexts(listPageElementTexts, onPage("文档任务查询页面"));

		// 进入详细页面
		selenium.click("//div[@id='dataTable']/table//link");
		selenium.waitForPopUp("", "10000");
		selenium.selectPopUp("");
		assertPageTitle("北京市电子行政监察平台-文档任务信息", "文档任务详细页面");
		// 验证页面元素
		String[] detailsPageElementTexts = {
				"公文任务信息",
				"文档任务名称",
				"任务编号",
				"任务类型",
				"任务开始日期",
				"任务计划结束日期",
				"重要度",
				"任务状态",
				"创建人",
				"承办人",
				"文档类型",
				"任务说明",
				"最新版本",
				};
		verifyPresenceOfTexts(detailsPageElementTexts, onPage("文档任务详细页面"));

	}

}
